package ${serviceUrl};


import com.erayt.bds.service.EasyExcelListenerInterface;
import ${entityUrl}.${entityName};
import ${voUrl}.${entityName}Vo;
import com.erayt.ecas.bean.User;
import com.erayt.solar.QueryParam;
import com.erayt.solar.db.query.SolarPage;
import java.util.List;
import java.util.Map;
/**
 * @description:${entityComment}服务层
 * @company erayt
 * @author ${author}
 * @date ${createTime}
*/
public interface ${entityName}Service extends EasyExcelListenerInterface  {

    /**
    * description: 分页查询
    * @param queryParam 查询参数
    * @return: com.erayt.solar.db.query.SolarPage<${entityUrl}.${entityName}Vo>
    * @author ${author}
    * @date: ${createTime}
    */
    SolarPage<${entityName}Vo> queryPageByParam(QueryParam queryParam);

    /**
     * 根据主键查询${entityComment}
     * @param user
     * @param primaryKey 主键
     * @return
     */
    ${entityName}Vo selectByPrimaryKey(User user, String primaryKey);

    /**
     * Description: 查询全部
     * @return: List<${entityName}Vo>
     */
    List<${entityName}Vo> selectAllData();

    /**
     * 插入新的${entityComment}
     * @param user
     * @param ${objectName}
     */
    void insert(User user, ${entityName} ${objectName});

    /**
     * 批量插入情景定义信息
     * @param list
     */
    void batchInsert(List<${entityName}> list);

    /**
     * 删除${entityComment}
     * @param user
     * @param primaryKey 主键
     */
    void delete(User user, String primaryKey);

    /**
     * 修改${entityComment}
     * @param user
     * @param ${objectName}
     */
    void update(User user, ${entityName} ${objectName});


    /**
     * 获取需要做成下框的列和下拉框内容，并组装成相应格式
     * key 为 列号 (从0开始)
     * String[]为下拉框内容，如{"股票","基金","债券"}
     *
     * @return 下拉框组装后格式Map
     */
    Map<Integer, String[]> getComboboxData();

    /**
     * 创建一个模板数据以供用户参考
     *
     * @return
     */
    List<${entityName}> createUserExampleData();
	
}